@@ -8,7 +8,7 @@ from django_six import CompatibilityBaseCommand, close_old_connections  | 
            ||
| 8 | 8 | 
                from TimeConvert import TimeConvert as tc  | 
            
| 9 | 9 | 
                 | 
            
| 10 | 10 | 
                from account.models import UserInfo  | 
            
| 11 | 
                -from coupon.models import UserCouponInfo  | 
            |
| 11 | 
                +from coupon.models import CouponInfo, UserCouponInfo  | 
            |
| 12 | 12 | 
                from member.models import RightInfo  | 
            
| 13 | 13 | 
                from utils.redis.connect import r  | 
            
| 14 | 14 | 
                from utils.redis.rkeys import MEMBER_SEND_COUPON_LIST  | 
            
                @@ -48,8 +48,8 @@ class Command(CompatibilityBaseCommand):  | 
            ||
| 48 | 48 | 
                if coupon_id:  | 
            
| 49 | 49 | 
                # 发放商城兑换券  | 
            
| 50 | 50 | 
                try:  | 
            
| 51 | 
                - coupon = UserCouponInfo.objects.get(coupon_id=coupon_id)  | 
            |
| 52 | 
                - except UserCouponInfo.DoesNotExist:  | 
            |
| 51 | 
                + coupon = CouponInfo.objects.get(coupon_id=coupon_id)  | 
            |
| 52 | 
                + except CouponInfo.DoesNotExist:  | 
            |
| 53 | 53 | 
                continue  | 
            
| 54 | 54 | 
                 | 
            
| 55 | 55 | 
                UserCouponInfo.objects.create(  | 
            
                @@ -66,27 +66,33 @@ class Command(CompatibilityBaseCommand):  | 
            ||
| 66 | 66 | 
                coupon_valid_period=coupon.coupon_valid_period,  | 
            
| 67 | 67 | 
                coupon_limit_brand_ids=coupon.coupon_limit_brand_ids,  | 
            
| 68 | 68 | 
                )  | 
            
| 69 | 
                +  | 
            |
| 69 | 70 | 
                else:  | 
            
| 70 | 71 | 
                # 发放会员权益  | 
            
| 71 | 72 | 
                rights = RightInfo.objects.filter(is_send_coupon=True, status=True)  | 
            
| 72 | 73 | 
                for right in rights:  | 
            
| 73 | 74 | 
                if user.level == UserInfo.MEMBER_LRC:  | 
            
| 74 | 75 | 
                coupon_id = right.coupon_level1_id  | 
            
| 76 | 
                + coupon_num = right.coupon_level1_num  | 
            |
| 75 | 77 | 
                elif user.level == UserInfo.MEMBER_SILVER:  | 
            
| 76 | 78 | 
                coupon_id = right.coupon_level2_id  | 
            
| 79 | 
                + coupon_num = right.coupon_level2_num  | 
            |
| 77 | 80 | 
                elif user.level == UserInfo.MEMBER_SILVER:  | 
            
| 78 | 81 | 
                coupon_id = right.coupon_level3_id  | 
            
| 82 | 
                + coupon_num = right.coupon_level3_num  | 
            |
| 79 | 83 | 
                elif user.level == UserInfo.MEMBER_SILVER:  | 
            
| 80 | 84 | 
                coupon_id = right.coupon_level4_id  | 
            
| 85 | 
                + coupon_num = right.coupon_level4_num  | 
            |
| 81 | 86 | 
                else:  | 
            
| 82 | 87 | 
                coupon_id = right.coupon_level5_id  | 
            
| 88 | 
                + coupon_num = right.coupon_level5_num  | 
            |
| 83 | 89 | 
                 | 
            
| 84 | 90 | 
                try:  | 
            
| 85 | 
                - coupon = UserCouponInfo.objects.get(coupon_id=coupon_id)  | 
            |
| 86 | 
                - except UserCouponInfo.DoesNotExist:  | 
            |
| 91 | 
                + coupon = CouponInfo.objects.get(coupon_id=coupon_id)  | 
            |
| 92 | 
                + except CouponInfo.DoesNotExist:  | 
            |
| 87 | 93 | 
                continue  | 
            
| 88 | 94 | 
                 | 
            
| 89 | 
                - for _ in xrange(right.coupon_num):  | 
            |
| 95 | 
                + for _ in xrange(right.coupon_num or coupon_num):  | 
            |
| 90 | 96 | 
                UserCouponInfo.objects.create(  | 
            
| 91 | 97 | 
                brand_id=coupon.brand_id,  | 
            
| 92 | 98 | 
                brand_name=coupon.brand_name,  | 
            
                @@ -0,0 +1,40 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +# Generated by Django 1.11.26 on 2019-12-23 10:08  | 
            |
| 3 | 
                +from __future__ import unicode_literals  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from django.db import migrations, models  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +class Migration(migrations.Migration):  | 
            |
| 9 | 
                +  | 
            |
| 10 | 
                + dependencies = [  | 
            |
| 11 | 
                +        ('member', '0015_auto_20191221_2058'),
               | 
            |
| 12 | 
                + ]  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                + operations = [  | 
            |
| 15 | 
                + migrations.AddField(  | 
            |
| 16 | 
                + model_name='rightinfo',  | 
            |
| 17 | 
                + name='coupon_level1_num',  | 
            |
| 18 | 
                + field=models.IntegerField(default=0, help_text='\u5238\u6bcf\u4f1a\u5458\u7ea7\u522b\u53d1\u653e\u5f20\u6570', verbose_name='coupon_level1_num'),  | 
            |
| 19 | 
                + ),  | 
            |
| 20 | 
                + migrations.AddField(  | 
            |
| 21 | 
                + model_name='rightinfo',  | 
            |
| 22 | 
                + name='coupon_level2_num',  | 
            |
| 23 | 
                + field=models.IntegerField(default=0, help_text='\u5238\u6bcf\u4f1a\u5458\u7ea7\u522b\u53d1\u653e\u5f20\u6570', verbose_name='coupon_level2_num'),  | 
            |
| 24 | 
                + ),  | 
            |
| 25 | 
                + migrations.AddField(  | 
            |
| 26 | 
                + model_name='rightinfo',  | 
            |
| 27 | 
                + name='coupon_level3_num',  | 
            |
| 28 | 
                + field=models.IntegerField(default=0, help_text='\u5238\u6bcf\u4f1a\u5458\u7ea7\u522b\u53d1\u653e\u5f20\u6570', verbose_name='coupon_level3_num'),  | 
            |
| 29 | 
                + ),  | 
            |
| 30 | 
                + migrations.AddField(  | 
            |
| 31 | 
                + model_name='rightinfo',  | 
            |
| 32 | 
                + name='coupon_level4_num',  | 
            |
| 33 | 
                + field=models.IntegerField(default=0, help_text='\u5238\u6bcf\u4f1a\u5458\u7ea7\u522b\u53d1\u653e\u5f20\u6570', verbose_name='coupon_level4_num'),  | 
            |
| 34 | 
                + ),  | 
            |
| 35 | 
                + migrations.AddField(  | 
            |
| 36 | 
                + model_name='rightinfo',  | 
            |
| 37 | 
                + name='coupon_level5_num',  | 
            |
| 38 | 
                + field=models.IntegerField(default=0, help_text='\u5238\u6bcf\u4f1a\u5458\u7ea7\u522b\u53d1\u653e\u5f20\u6570', verbose_name='coupon_level5_num'),  | 
            |
| 39 | 
                + ),  | 
            |
| 40 | 
                + ]  | 
            
                @@ -169,6 +169,11 @@ class RightInfo(BaseModelMixin):  | 
            ||
| 169 | 169 | 
                # 券相关  | 
            
| 170 | 170 | 
                is_send_coupon = models.BooleanField(_(u'is_send_coupon'), default=False, help_text=_(u'是否发券'), db_index=True)  | 
            
| 171 | 171 | 
                coupon_num = models.IntegerField(_(u'coupon_num'), default=0, help_text=_(u'券每会员级别发放张数'))  | 
            
| 172 | 
                + coupon_level1_num = models.IntegerField(_(u'coupon_level1_num'), default=0, help_text=_(u'券每会员级别发放张数'))  | 
            |
| 173 | 
                + coupon_level2_num = models.IntegerField(_(u'coupon_level2_num'), default=0, help_text=_(u'券每会员级别发放张数'))  | 
            |
| 174 | 
                + coupon_level3_num = models.IntegerField(_(u'coupon_level3_num'), default=0, help_text=_(u'券每会员级别发放张数'))  | 
            |
| 175 | 
                + coupon_level4_num = models.IntegerField(_(u'coupon_level4_num'), default=0, help_text=_(u'券每会员级别发放张数'))  | 
            |
| 176 | 
                + coupon_level5_num = models.IntegerField(_(u'coupon_level5_num'), default=0, help_text=_(u'券每会员级别发放张数'))  | 
            |
| 172 | 177 | 
                coupon_level1_id = models.CharField(_(u'coupon_level1_id'), max_length=32, blank=True, null=True, help_text=u'券唯一标识', db_index=True)  | 
            
| 173 | 178 | 
                coupon_level2_id = models.CharField(_(u'coupon_level2_id'), max_length=32, blank=True, null=True, help_text=u'券唯一标识', db_index=True)  | 
            
| 174 | 179 | 
                coupon_level3_id = models.CharField(_(u'coupon_level3_id'), max_length=32, blank=True, null=True, help_text=u'券唯一标识', db_index=True)  |